package uy.com.csi.gestpro.model.ejbbean;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import uy.com.csi.gestpro.model.ejbremote.UsuarioEjbRemote;
import uy.com.csi.gestpro.model.seguridad.GpUsrio;
import uy.com.csi.gestpro.model.view.GpvwProyectoUsuario;

@Stateless
public class UsuarioEjb implements UsuarioEjbRemote {
	@PersistenceContext(name = "pu_gestpro")
	EntityManager em;

	public UsuarioEjb() {
	}

	@Override
	public GpUsrio getUsuario(String username) {
		GpUsrio usuario = null;
		try {
			String consulta = "select u from GpUsrio u where u.nicknme=:username";
			Query q = em.createQuery(consulta);
			q.setParameter("username", username);
			usuario = (GpUsrio) q.getSingleResult();
		} catch (Exception e) {
		}
		return usuario;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<GpvwProyectoUsuario> getPersonalByProyecto(Integer idProyecto) {
		List<GpvwProyectoUsuario> gpPrsonal = null;
		try {
			String consulta = "select p from GpvwProyectoUsuario p where p.idPrycto=:idProyecto order by p.aplldos";
			Query q = em.createQuery(consulta);
			q.setParameter("idProyecto", idProyecto);
			gpPrsonal = (List<GpvwProyectoUsuario>) q.getResultList();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return gpPrsonal;
	}
	
	@Override
	public GpvwProyectoUsuario getPersonalById(Integer id){
		GpvwProyectoUsuario gpPrsonal = null;
		try {
			String consulta = "select p from GpvwProyectoUsuario p where p.id=:id";
			Query q = em.createQuery(consulta);
			q.setParameter("id", id);
			gpPrsonal = (GpvwProyectoUsuario) q.getSingleResult();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return gpPrsonal;
	}
}
